Vulkan Programming Guide: The Official Guide to Learning Vulkan (Paperback)

Vulkan Programming Guide: The Official Guide to Learning Vulkan (Paperback)

作者: Graham Sellers John Kessenich
出版社: Addison Wesley
出版在: 2016-10-31
ISBN-13: 9780134464541
ISBN-10: 0134464540
裝訂格式: Paperback
總頁數: 480 頁





內容描述



FeaturesAuthoritative, trusted, and comprehensive coverage, straight from two of Vulkan's development team leadsCovers both the new portable Vulkan API and SPIR-V shading languageEnables developers to gain direct control over GPU acceleration for maximum performance and predictabilityHelps developers create a wide spectrum of 3D applications, and solve challenging compute problems in science and engineeringContains extensive new code examples throughout


The Definitive Vulkan™ Developer’s Guide and Reference: Master the Next-Generation Specification for Cross-Platform Graphics
The next generation of the OpenGL specification, Vulkan, has been redesigned from the ground up, giving applications direct control over GPU acceleration for unprecedented performance and predictability. Vulkan™ Programming Guide is the essential, authoritative reference to this new standard for experienced graphics programmers in all Vulkan environments.
Vulkan API lead Graham Sellers (with contributions from language lead John Kessenich) presents example-rich introductions to the portable Vulkan API and the new SPIR-V shading language. The author introduces Vulkan, its goals, and the key concepts framing its API, and presents a complex rendering system that demonstrates both Vulkan’s uniqueness and its exceptional power.
You’ll find authoritative coverage of topics ranging from drawing to memory, and threading to compute shaders. The author especially shows how to handle tasks such as synchronization, scheduling, and memory management that are now the developer’s responsibility.
Vulkan™ Programming Guide introduces powerful 3D development techniques for fields ranging from video games to medical imaging, and state-of-the-art approaches to solving challenging scientific compute problems. Whether you’re upgrading from OpenGL or moving to open-standard graphics APIs for the first time, this guide will help you get the results and performance you’re looking for.
Coverage includes
Extensively tested code examples to demonstrate Vulkan’s capabilities and show how it differs from OpenGLExpert guidance on getting started and working with Vulkan’s new memory systemThorough discussion of queues, commands, moving data, and presentationFull explanations of the SPIR-V binary shading language and compute/graphics pipelinesDetailed discussions of drawing commands, geometry and fragment processing, synchronization primitives, and reading Vulkan data into applicationsA complete case study application: deferred rendering using complex multi-pass architecture and multiple processing queuesAppendixes presenting Vulkan functions and SPIR-V opcodes, as well as a complete Vulkan glossary


Table of Contents
Figures xiii
Tables xv
Listings xvii
About This Book xxi
Acknowledgments xxvii
About the Author xxix
Chapter 1: Overview of Vulkan 1
Introduction 2
Instances, Devices, and Queues 3
Object Types and Function Conventions 18
Managing Memory 19
Multithreading in Vulkan 20
Mathematical Concepts 21
Enhancing Vulkan 23
Shutting Down Cleanly 31
Summary 33
Chapter 2: Memory and Resources 35
Host Memory Management 36
Resources 41
Device Memory Management 73
Summary 93
Chapter 3: Queues and Commands 95
Device Queues 96
Creating Command Buffers 97
Recording Commands 101
Recycling Command Buffers 105
Submission of Commands 107
Summary 109
Chapter 4: Moving Data 111
Managing Resource State 112
Clearing and Filling Buffers 123
Clearing and Filling Images 125
Copying Image Data 128
Copying Compressed Image Data 132
Stretching Images 133
Summary 135
Chapter 5: Presentation 137
Presentation Extension 138
Presentation Surfaces 138
Swap Chains 143
Full-Screen Surfaces 152
Performing Presentation 159
Cleaning Up 162
Summary 163
Chapter 6: Shaders and Pipelines 165
An Overview of GLSL 166
An Overview of SPIR-V 169
Pipelines 175
Executing Work 186
Resource Access in Shaders 188
Summary 224
Chapter 7: Graphics Pipelines 225
The Logical Graphics Pipeline 226
Renderpasses 230
The Framebuffer 237
Creating a Simple Graphics Pipeline 240
Dynamic State 264
Summary 266
Chapter 8: Drawing 267
Getting Ready to Draw 268
Vertex Data 271
Indexed Draws 272
Instancing 280
Indirect Draws 281
Summary 286
Chapter 9: Geometry Processing 287
Tessellation 288
Geometry Shaders 309
Programmable Point Size 319
Line Width and Rasterization 321
User Clipping and Culling 324
The Viewport Transformation 331
Summary 335
Chapter 10: Fragment Processing 337
Scissor Testing 338
Depth and Stencil Operations 340
Multisample Rendering 350
Logic Operations 357
Fragment Shader Outputs 358
Color Blending 362
Summary 366
Chapter 11: Synchronization 367
Fences 368
Events 376
Semaphores 381
Summary 384
Chapter 12: Getting Data Back 387
Queries 388
Reading Data with the Host 398
Summary 400
Chapter 13: Multipass Rendering 401
Input Attachments 402
Attachment Contents 408
Secondary Command Buffers 420
Summary 423
Appendix: Vulkan Functions 425
Glossary 429
Index 443




相關書籍

MAYA 動畫製作完全攻略

作者 蔡哲明

2016-10-31

Unreal Engine 4學習總動員:遊戲開發

作者 張寶榮

2016-10-31

3ds Max 室內空間超擬真設計表現

作者 王振興

2016-10-31